NULL,
NULL,
NULL,
- NULL,
- NULL,
- &value,
- NULL);
+ &value);
rgba_init (&rgba, 0, 0, 0, 0);
g_value_set_boxed (&value, &rgba);
_gtk_style_property_register (g_param_spec_boxed ("background-color",
GDK_TYPE_RGBA, 0),
0,
NULL,
- NULL,
- NULL,
transparent_color_value_parse,
NULL,
- &value,
- NULL);
+ &value);
g_value_unset (&value);
g_value_init (&value, G_TYPE_STRV);
G_TYPE_STRV, 0),
GTK_STYLE_PROPERTY_INHERIT,
NULL,
- NULL,
- NULL,
font_family_parse,
font_family_value_print,
- &value,
- NULL);
+ &value);
g_value_unset (&value);
_gtk_style_property_register (g_param_spec_enum ("font-style",
"Font style",
NULL,
NULL,
NULL,
- NULL,
- NULL,
- NULL,
NULL);
_gtk_style_property_register (g_param_spec_enum ("font-variant",
"Font variant",
NULL,
NULL,
NULL,
- NULL,
- NULL,
- NULL,
NULL);
/* xxx: need to parse this properly, ie parse the numbers */
_gtk_style_property_register (g_param_spec_enum ("font-weight",
NULL,
NULL,
NULL,
- NULL,
- NULL,
- NULL,
NULL);
g_value_init (&value, G_TYPE_DOUBLE);
g_value_set_double (&value, 10);
NULL,
NULL,
NULL,
- NULL,
- NULL,
- &value,
- NULL);
+ &value);
g_value_unset (&value);
_gtk_style_property_register (g_param_spec_boxed ("text-shadow",
NULL,
NULL,
NULL,
- NULL,
- NULL,
- NULL,
NULL);
_gtk_style_property_register (g_param_spec_boxed ("icon-shadow",
NULL,
NULL,
NULL,
- NULL,
- NULL,
- NULL,
NULL);
gtk_style_properties_register_property (NULL,
GTK_TYPE_CSS_BORDER_CORNER_RADIUS, 0),
0,
NULL,
- NULL,
- NULL,
border_corner_radius_value_parse,
border_corner_radius_value_print,
- NULL,
NULL);
_gtk_style_property_register (g_param_spec_boxed ("border-top-right-radius",
"Border top right radius",
GTK_TYPE_CSS_BORDER_CORNER_RADIUS, 0),
0,
NULL,
- NULL,
- NULL,
border_corner_radius_value_parse,
border_corner_radius_value_print,
- NULL,
NULL);
_gtk_style_property_register (g_param_spec_boxed ("border-bottom-right-radius",
"Border bottom right radius",
GTK_TYPE_CSS_BORDER_CORNER_RADIUS, 0),
0,
NULL,
- NULL,
- NULL,
border_corner_radius_value_parse,
border_corner_radius_value_print,
- NULL,
NULL);
_gtk_style_property_register (g_param_spec_boxed ("border-bottom-left-radius",
"Border bottom left radius",
GTK_TYPE_CSS_BORDER_CORNER_RADIUS, 0),
0,
NULL,
- NULL,
- NULL,
border_corner_radius_value_parse,
border_corner_radius_value_print,
- NULL,
NULL);
gtk_style_properties_register_property (NULL,
GDK_TYPE_RGBA, 0),
0,
NULL,
- NULL,
- NULL,
transparent_color_value_parse,
NULL,
- &value,
- NULL);
+ &value);
_gtk_style_property_register (g_param_spec_boxed ("border-right-color",
"Border right color",
"Border right color",
GDK_TYPE_RGBA, 0),
0,
NULL,
- NULL,
- NULL,
transparent_color_value_parse,
NULL,
- &value,
- NULL);
+ &value);
_gtk_style_property_register (g_param_spec_boxed ("border-bottom-color",
"Border bottom color",
"Border bottom color",
GDK_TYPE_RGBA, 0),
0,
NULL,
- NULL,
- NULL,
transparent_color_value_parse,
NULL,
- &value,
- NULL);
+ &value);
_gtk_style_property_register (g_param_spec_boxed ("border-left-color",
"Border left color",
"Border left color",
GDK_TYPE_RGBA, 0),
0,
NULL,
- NULL,
- NULL,
transparent_color_value_parse,
NULL,
- &value,
- NULL);
+ &value);
g_value_unset (&value);
gtk_style_properties_register_property (NULL,
NULL,
NULL,
NULL,
- NULL,
- NULL,
- &value,
- NULL);
+ &value);
g_value_unset (&value);
gtk_style_properties_register_property (NULL,
g_param_spec_object ("engine",
G_TYPE_PTR_ARRAY, 0),
0,
NULL,
- NULL,
- NULL,
bindings_value_parse,
bindings_value_print,
- NULL,
NULL);
/* initialize shorthands last, they depend on the real properties existing */
_gtk_style_property_register (GParamSpec *pspec,
GtkStylePropertyFlags flags,
GtkStylePropertyParser property_parse_func,
- GtkStyleUnpackFunc unpack_func,
- GtkStylePackFunc pack_func,
GtkStyleParseFunc parse_func,
GtkStylePrintFunc print_func,
- const GValue * initial_value,
- GtkStyleUnsetFunc unset_func)
+ const GValue * initial_value)
{
GtkStyleProperty *node;
- g_return_if_fail ((pack_func == NULL) == (unpack_func == NULL));
-
- if (pack_func == NULL)
- node = g_object_new (GTK_TYPE_CSS_STYLE_PROPERTY,
- "name", pspec->name,
- NULL);
- else
- node = g_object_new (GTK_TYPE_CSS_SHORTHAND_PROPERTY,
- "name", pspec->name,
- NULL);
+ node = g_object_new (GTK_TYPE_CSS_STYLE_PROPERTY,
+ "name", pspec->name,
+ NULL);
node->flags = flags;
node->pspec = pspec;
node->property_parse_func = property_parse_func;
- node->pack_func = pack_func;
- node->unpack_func = unpack_func;
node->parse_func = parse_func;
node->print_func = print_func;
- node->unset_func = unset_func;
- if (!GTK_IS_CSS_SHORTHAND_PROPERTY (node))
- {
- _gtk_style_property_generate_id (node);
+ _gtk_style_property_generate_id (node);
- /* initialize the initial value */
- if (initial_value)
+ /* initialize the initial value */
+ if (initial_value)
+ {
+ g_value_init (&node->initial_value, G_VALUE_TYPE (initial_value));
+ g_value_copy (initial_value, &node->initial_value);
+ }
+ else
+ {
+ g_value_init (&node->initial_value, pspec->value_type);
+ if (pspec->value_type == GTK_TYPE_THEMING_ENGINE)
+ g_value_set_object (&node->initial_value, gtk_theming_engine_load (NULL));
+ else if (pspec->value_type == PANGO_TYPE_FONT_DESCRIPTION)
+ g_value_take_boxed (&node->initial_value, pango_font_description_from_string ("Sans 10"));
+ else if (pspec->value_type == GDK_TYPE_RGBA)
{
- g_value_init (&node->initial_value, G_VALUE_TYPE (initial_value));
- g_value_copy (initial_value, &node->initial_value);
+ GdkRGBA color;
+ gdk_rgba_parse (&color, "pink");
+ g_value_set_boxed (&node->initial_value, &color);
}
- else
+ else if (pspec->value_type == GTK_TYPE_BORDER)
{
- g_value_init (&node->initial_value, pspec->value_type);
- if (pspec->value_type == GTK_TYPE_THEMING_ENGINE)
- g_value_set_object (&node->initial_value, gtk_theming_engine_load (NULL));
- else if (pspec->value_type == PANGO_TYPE_FONT_DESCRIPTION)
- g_value_take_boxed (&node->initial_value, pango_font_description_from_string ("Sans 10"));
- else if (pspec->value_type == GDK_TYPE_RGBA)
- {
- GdkRGBA color;
- gdk_rgba_parse (&color, "pink");
- g_value_set_boxed (&node->initial_value, &color);
- }
- else if (pspec->value_type == GTK_TYPE_BORDER)
- {
- g_value_take_boxed (&node->initial_value, gtk_border_new ());
- }
- else
- g_param_value_set_default (pspec, &node->initial_value);
+ g_value_take_boxed (&node->initial_value, gtk_border_new ());
}
+ else
+ g_param_value_set_default (pspec, &node->initial_value);
}
}